home *** CD-ROM | disk | FTP | other *** search
- SampleMain
- SEQ formatted GEOS file V1.0
- Epson FX-80
- Routines
- LASTER'S
- ONVERTER
- COPE Source V1.1
- geoCOPE V1.00
- COPE Editor V1.1
- Untitled
- SampleMain
- @)@:@?@E@R@_@n@z@
- /; ===
- ; MENU STRUCTURE of geoCOPE Editor
- ; BY BILL SHARP
- START
- JSR NewDisk
- JSR MouseUp
- JSR clrScreen
- LDX #<ICONS
- STX R0
- LDX #>ICONS
- STX R0+1
- JSR DoIcons ; SETUP ICONS
- LDX #<MENUS
- STX R0
- LDX #>MENUS
- STX R0+1
- LDA #1 ; MENU POS/MOUSE
- JSR DoMenu
- ; ICON EXECUTION ROUTINE
- ICONS
- .BYTE 1 ; one Icon
- .WORD 160 ; X position to place mouse
- .BYTE 0 ; Y position to place mous
- .WORD IconData ; pointer to icon BitMap
- .BYTE 38 ; X position in bytes to place Icon
- .BYTE 0 ; Y position in scanlines to place Icon
- .BYTE 2,15 ; Width in bytes, Height in pixels
- .WORD QUIT2 ; Code to call
- ; the icon data is stored in BitMapUp format
- IconData
- .BYTE 158
- .BYTE 255,255,0,0,255,255,128,01,128,1,128,1
- .BYTE 135,225,135,225,135,225
- .BYTE 128,01,128,01,128,01
- .BYTE 255,255
- .BYTE 0,0
- .BYTE 255,255
- MENUS
- .BYTE MenuTopPos
- .BYTE MenuBotPos
- .WORD MenuLeft
- .WORD MenuRight
- .BYTE HORIZ | 5 ; Horizontal OR'ed with 5 (for 5 items)
- .WORD MEMTX1 ; Pointer to Text for first menu position
- .BYTE $80 ; SUB-MENU structure
- .WORD MEMSB1 ; Pointer to Sub-Menu
- ; The pattern for menus are the same below
- .WORD MEMTX2
- .BYTE $80
- .WORD MEMSB2
- .WORD MEMTX3
- .BYTE $80 ; SUB-MENU
- .WORD MEMSB3 ; SUB-MEM
- .WORD MEMTX4
- .BYTE $80 ; SUB-MENU
- .WORD MEMSB4
- .WORD MEMTX5
- .BYTE $80
- .WORD MEMSB5
- MEMTX1 .BYTE PLAIN,128,0
- MEMTX2 .BYTE 'File',0
- MEMTX3 .BYTE 'Edit',0
- MEMTX4 .BYTE 'Search',0
- MEMTX5 .BYTE 'Toolbox',0
- ;== END OF MAIN MENU STRUCTURE
- ;== START OF SUB-MENUS
- MEMSB1
- ;-----
- MEMSB1X
- .BYTE MenuBotPos
- .BYTE MenuBotPos+15
- .WORD MenuLeft
- .WORD MenuLeft+81
- .BYTE VERT+1
- .WORD SUBM1
- .BYTE 0
- .WORD NOCODE ; Perform this routine when menu is selected
- ;-----
- SUBM1 .BYTE 'COPE info',0
- ;END SUBMENU1
- ;START SUBMENU2
- MEMSB2
- .BYTE MenuBotPos
- .BYTE MenuBotPos+5*14+1
- .WORD MenuLeft+20
- .WORD MenuLeft+86
- .BYTE VERT | 5
- .WORD SUBM21
- .BYTE 0
- .WORD LOAD
- .WORD SUBM22
- .BYTE 0
- .WORD SAVE
- .WORD SUBM23
- .BYTE 0
- .WORD PRINT
- .WORD SUBM24
- .BYTE 0
- .WORD QUIT
- .WORD SUBM25
- .BYTE 0
- .WORD SaveAs
- SUBM21 .BYTE 'Load',20,64,0,128,'L',0
- SUBM22 .BYTE 'Save',20,64,0,128,'S',0
- SUBM23 .BYTE 'Print',0
- SUBM24 .BYTE 'Quit',20,64,0,128,'Q',0
- SUBM25 .BYTE 'Save As...',0
- ; END SUBMENU 2
- ; START SUBMENU 3
- MEMSB3
- .BYTE MenuBotPos
- .BYTE MenuBotPos+4*14+1
- .WORD MenuLeft+41
- .WORD MenuLeft+105
- .BYTE VERT+4
- .WORD SUBM31
- .BYTE 0
- .WORD CUT
- .WORD SUBM32
- .BYTE 0
- .WORD COPY
- .WORD SUBM33
- .BYTE 0
- .WORD PASTE
- .WORD SUBM34
- .BYTE 0
- .WORD CLEAR
- SUBM31 .BYTE 'Cut',20,83,0,128,'X',0
- SUBM32 .BYTE 'Copy',20,83,0,128,'C',0
- SUBM33 .BYTE 'Paste',20,83,0,128,'T',0
- SUBM34 .BYTE 'Clear',0
- MEMSB4
- .BYTE MenuBotPos
- .BYTE MenuBotPos+43
- .WORD MenuLeft+63
- .WORD MenuLeft+132
- .BYTE VERT+3
- .WORD SUBM41
- .BYTE 0
- .WORD FIND
- .WORD SUBM42
- .BYTE 0
- .WORD RPTSTR
- .WORD SUBM44
- .BYTE $80
- .WORD GoMenu
- SUBM41 .BYTE 'Find...',20,110,0,128,'F',0
- SUBM42 .BYTE 'Replace...',20,110,0,128,'R',0
- SUBM44 .BYTE 'Go To...',0
- MEMSB5
- .BYTE MenuBotPos
- .BYTE MenuBotPos+15
- .WORD MenuLeft+99
- .WORD MenuLeft+142
- .BYTE VERT+1
- .WORD SUBM51
- .BYTE 0
- .WORD IMPORT
- SUBM51 .BYTE 'Import',0
- GoMenu
- .Byte MenuBotPos
- .BYte MenuBotPos+4*14+1
- .Word MenuLeft+133
- .Word MenuLeft+214
- .Byte VERT | 4
- .Word GOM11
- .Byte 0
- .Word DOPGUP
- .Word GOM12
- .Byte 0
- .Word DOPGDOWN
- .Word GOM13
- .Byte 0
- .Word DOTOP
- .Word GOM14
- .Byte 0
- .Word DOBOTTOM
- GOM11 .Byte 'Page-Up',20,198,0,BOLD,'F5',PLAIN,0
- GOM12 .Byte 'Page-Down',20,198,0,BOLD,'F7',PLAIN,0
- GOM13 .Byte 'Top',20,198,0,BOLD,'F6',PLAIN,0
- GOM14 .Byte 'Bottom',20,198,0,BOLD,'F8',PLAIN,0
- ;== END OF MENU TABLES
- JSR GotoFirstMenu
- QUIT2
- JMP EnterDeskTop
- ;====
- ; DIALOG BOXES
- DB1 .BYTE 128+2
- .BYTE 11
- .BYTE 10
- .BYTE 30
- .WORD NCSTR
- .BYTE 11,10,50
- .WORD NCSTR2
- .Byte 11,10,70
- .Word NCSTR3
- .BYTE 14
- .BYTE 0
- NCSTR .BYTE 'This is a sample program to',0
- NCSTR2 .BYTE 'demonstrate the coding methods to use',0
- NCSTR3 .Byte 'in writing programs with geoCOPE',0
- ;APPLICATION CODE/MENUS AND ICONS.
- ; Currently, all of the routines in the MenuSystem points
- ;to the NOCODE routine below.
- ; See how all the Lables are currently using the same routine.
- LOAD SAVE PRINT SaveAs CUT COPY PASTE CLEAR FIND REPLACE
- IMPORT RPTSTR DOPGUP DOPGDOWN DOTOP DOBOTTOM
- NOCODE
- JSR $C1BD ;GOTO FIRST MENU
- LDX #<DB1
- STX R0
- LDX #>DB1
- STX R0+1
- JSR $C256; DO DIALOG BOX
- ;------
- clrScreen
- LDA #0
- JSR SetPattern
- jsr i_Rectangle
- .Byte 0
- .Byte 199
- .Word 0
- .Word 319
-